home *** CD-ROM | disk | FTP | other *** search
/ Compute! Gazette: SID64 / SID64.D64 / sid demo.64 (.txt) < prev    next >
Commodore BASIC  |  2022-09-20  |  3KB  |  67 lines

  1. 100 print chr$(147):print " sidplayer demonstration"
  2. 110 print " by craig chamberlain":print
  3. 120 dn=8:sa=780:sx=781:sy=782:sp=783
  4. 130 cy=214:dim c$(15):for k=0 to 15:read p:c$(k)=chr$(p):next
  5. 140 gosub 57000:f$="scipio":la=peek(49)+256*peek(50)+1000:gosub 57500
  6. 150 sys hk:poke sx,lo:poke sy,hi:sys pl:rem ready to play song
  7. 200 print chr$(147):poke 53280,0:poke 53281,0
  8. 210 for k=832 to 894:read p:poke k,p:next:rem define sprite
  9. 220 for k=0 to 7:poke 2040+k,13:read c:poke 53287+k,c
  10. 230 poke 53248+k*2,(34+k*40)and255:poke 53249+k*2,70+rnd(0)*20:next
  11. 240 poke 53264,192:poke 53271,0:poke 53277,0
  12. 250 for k=1 to 3:poke cy,3:print:print tab(5) c$(k) "presenting..."
  13. 260 for j=1 to 20:next j,k:for k=1 to 750:next
  14. 270 for k=0 to 3:poke cy,3:print:print tab(5) c$(3-k) "presenting..."
  15. 280 for j=1 to 20:next j,k:for k=1 to 300:next:poke ss,7
  16. 300 for k=1 to 3:poke cy,6:print
  17. 310 if peek(fl)<>k goto 310
  18. 320 print tab(10) c$(k) "enhanced sidplayer":next:wait fl,1,1:print:print
  19. 330 wait fl,1:print tab(10) "a complete":print tab(10) "music system"
  20. 340 print tab(10) "for the commodore 64"
  21. 400 wait fl,1,1:print chr$(147):poke 53269,255:poke cy,8:print
  22. 410 print "features:":print:print "joystick or keyboard note entry":print
  23. 415 print "supports any time signature":print
  24. 420 print "measure editing":print:print "transposing by half steps":print
  25. 430 print "easy insert/delete/replace editing":print
  26. 440 print "simple enough for a novice to use":print
  27. 450 poke 53249+int(rnd(0)*8)*2,70+rnd(0)*20:if peek(fl)=0 goto 450
  28. 500 poke 53269,0:print chr$(147):print:print:print "plus..."
  29. 510 for k=5 to 13 step 2:read s$:poke cy,k:print:print tab(10) s$
  30. 520 poke cy,k:print:print tab(10);:for j=1 to 10:print chr$(20);
  31. 530 for i=1 to 32:next i,j,k:print:print:print
  32. 540 wait fl,1,1:print "and best of all,":print "music created by sidplayer"
  33. 550 print "can be merged with":print "your basic programs":wait fl,1
  34. 600 print chr$(147):poke cy,10:print:print " sidplayer";:wait fl,1,1
  35. 610 print tab(15) "sidplayer";:wait fl,1:print tab(30) "sidplayer":wait fl,1,1
  36. 630 print chr$(147):for k=1 to 23:print c$(rnd(0)*12+4) " sidplayer"
  37. 640 for j=1 to 30:next j,k
  38. 650 for k=22 to 0 step -1:poke cy,k:print
  39. 660 print tab(15) c$(rnd(1)*12+4) "sidplayer":for j=1 to 30:next j,k
  40. 670 poke cy,0:print:for k=1 to 23:print c$(rnd(0)*12+4) tab(30) "sidplayer"
  41. 680 for j=1 to 30:next j,k
  42. 690 if peek(fl)<>1 goto 690
  43. 700 print chr$(147):poke cy,16:print:print tab(25) c$(3) "that's":wait fl,1,1
  44. 710 print tab(27) "all,":wait fl,1:print tab(25) "folks!"
  45. 720 if peek(ss)and7 goto 720
  46. 730 sys hu:sys dp:print chr$(147) chr$(154);:poke 53280,14:poke 53281,6:end
  47. 800 data 144,151,152,155,5,28,30,31,129,149,150,153,154,156,158,159
  48. 810 data 0,3,192,0,3,224,0,3,240,0,3,120,0,3,56,0,3,28,0,3,12,0,3,0,0,3,0
  49. 820 data 0,3,0,7,227,0,31,251,0,63,255,0,127,255,0,127,255,0,127,254,0
  50. 830 data 63,252,0,31,248,0,7,224,0,0,0,0,0,0,0
  51. 840 data 10,7,4,13,5,3,8,15
  52. 850 data "envelopes and waveforms","repeats and phrases"
  53. 860 data "automatic filter mode","glissando and vibrato"
  54. 870 data "many other features"
  55. 57000 poke sa,1:poke sx,dn:poke sy,1:sys 65466:f$="sid.obj.64":gosub 59000
  56. 57010 poke sa,0:sys 65493:if peek(sp)and1 goto 59100
  57. 57020 ss=49152:fl=49153:hk=49615:pl=49664:hu=49897:dp=49935:return
  58. 57500 poke sa,1:poke sx,dn:poke sy,0:sys 65466:f$=f$+".mus":gosub 59000
  59. 57510 hi=int(la/256):lo=la-256*hi
  60. 57520 poke sa,0:poke sx,lo:poke sy,hi:sys 65493:if peek(sp)and1 goto 59100
  61. 57530 la=peek(sx)+256*peek(sy):return
  62. 59000 for k=1 to len(f$):poke 584+k,asc(mid$(f$,k)):next
  63. 59010 poke sa,len(f$):poke sx,73:poke sy,2:sys 65469:return
  64. 59100 p=peek(sa):print " error: ";:if p=4 then print "file not found":end
  65. 59110 if p=5 then print "device not present":end
  66. 59120 print st:end
  67.